package com.site.common.filter;

import org.springframework.context.ApplicationContext;
import org.springframework.web.method.HandlerMethod;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * baseFilter 基础过滤器
 */
public interface BaseFilter<T> {

    /**
     * 过滤器执行方法
     * @param request
     * @param response
     * @param handlerMethod
     * @param context
     * @return
     * @throws Throwable
     */
    T doHandlerFilter(HttpServletRequest request, HttpServletResponse response, HandlerMethod handlerMethod, ApplicationContext context) throws Throwable;
}
